#pragma once

#include "ExtNode.h"
#include "IntNode.h"

#include <iostream>
#include <fstream>
using namespace std;

class Radix
{
public:

    Radix(int divisor) { m_divisor = divisor; m_root = NULL; }
    Radix(fstream *hf, int divisor) { m_divisor = divisor; m_root = NULL; }

    void insert(unsigned int bits, unsigned int bitCount, unsigned int position);
    int retrieve(unsigned int articleNumber);
    int getDepth(unsigned int articleNumber);

private:
    ExtNode * m_root;
    int m_divisor;
};
